function Vue(options) {
    //将配置项放在Vue实例的_data上
    this._data = options.data

    //数据代理,将this._data 的值放在this上,直接访问this.name时通过存取器属性实际上是读取,修改this._data的值
    for (let key of Object.keys(this._data)) {
        
        Object.defineProperty(this, key, {
            get() {
                return this._data[key]
            },
            set(value) {
                this._data[key] = value
            }
        })
    }
}


//实例化Vue,传入配置项
const vm = new Vue({
    data: {
        name: 'laowang',
        age: 19,
        hobby: ['抽烟', '喝酒', '烫头']
    }
})